Layout.componentDidMount   A
last analyzed

Complexity

Conditions 3

Size

Total Lines 26
Code Lines 21

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 21
dl 0
loc 26
c 0
b 0
f 0
rs 9.376
cc 3
1
// import './index.scss'
2
import $ from "jquery";
3
import React, { Component, Fragment } from "react";
4
import { forceCheck } from "react-lazy-load";
5
6
import PageFooter from "../components/page-footer";
7
import PageHeader, { PageHeaderMobile } from "../components/page-header";
8
9
class Layout extends Component {
10
  render() {
11
    const { children } = this.props;
12
13
    return (
14
      <Fragment>
15
        <div className={`off-canvas-wrapper`}>
16
          <PageHeaderMobile />
17
          <PageHeader />
18
19
          <main className={`off-canvas-content`} data-off-canvas-content>
20
            {children}
21
          </main>
22
23
          <PageFooter />
24
        </div>
25
      </Fragment>
26
    );
27
  }
28
29
  componentDidMount() {
30
    // eslint-disable-next-line
31
    const foundation = require("foundation-sites");
32
    $(document).foundation();
33
34
    $(`.main-nav a`).on(`click`, function () {
35
      if (
36
        $(this).attr(`href`).indexOf(window.location.pathname) === 0 &&
37
        window.location.hash
38
      ) {
39
        const url = $(this).attr(`href`);
40
        const hash = url.substring(url.indexOf(`#`));
41
42
        $(`.team-sub_navigation a[href="${hash}"]`).trigger(`click`, [true]);
43
      }
44
    });
45
46
    if (window.location.hash) {
47
      $(`.team-sub_navigation a[href="${window.location.hash}"]`).trigger(
48
        `click`,
49
        [true],
50
      );
51
    }
52
    $(`.tabs`).on(`change.zf.tabs`, function () {
53
      forceCheck();
54
    });
55
  }
56
}
57
58
export default Layout;
59